In traditional artistic works, an artist would create a desired visual effect by using a canvas and a paintbrush. However, with the advent of computer systems, many graphics applications have been developed that allow a user or an artist to express his creativity using modem graphical input devices, such as pens, tablets, stylus, brushes etc. to create attractive visual effects on the computer, which may be displayed on a computer screen and electronically printed, if desired. These artistic renditions may comprise various objects that may be manipulated either independently or in a group with the help of a graphics software application. Furthermore, the objects created may be interactively manipulated on the screen of the computer system with the help of the various input devices and the graphics software application.
Existing graphics applications may use a vector based system or a non-vector based system to draw the various objects or images. In a vector based system, objects may be described by a series of mathematical outlines or points. An example of a vector object would be a square which is defined by four points. On the other hand, in a non-vector based system, an object, such as a bitmapped object, is defined by all points on or within the object. A non-vector object is defined color point by color point inside of a memory space and thus, in a non-vector based system images are created by composing numerous tiny dots.
Typically in the software industry, vector objects are displayed on the screen during creation time to represent entities that a user, such as a graphic artist, wishes to represent. These vector objects have certain attributes that allow them to be scaled, displayed and printed at different resolutions while maintaining the same quality of the object or image. However, non-vector objects may not be easily scaled, displayed and printed at different resolutions while maintaining the same quality of the object or image.
In order to create realistic images having the desired depth, it is desirable to produce three dimensional (3D) images using computer software. For this purpose, graphics software applications for a 3D drawing environment are currently available. Such existing software applications include CAD programs. These 3D drawing environments are capable of creating 3D objects and depending on how the 3D objects are drawn the objects may appear to be drawn in perspective mode.
However, existing 3D tools for drawing 3D images or objects are very difficult to use. As a 3D environment involves the perception of depth, width and height, the user needs to be highly trained and work with a lot more information in a 3D environment than in a two dimensional (2D) environment. Hence, a user has to be sophisticated in order to create the drawings in a 3D environment. Thus, there are costs associated with training a user to work in a 3D environment. Moreover, because of the complexity and sophistication of 3D tools, existing 3D tools are very expensive and many sophisticated users who might be able to use these 3D tools may not be able to afford them. Furthermore, because of the computations involved in processing the 3D images, the hardware requirements of machines on which these 3D tools are used is more. Thus, the costs associated with using these 3D tools is further increased by the hardware costs.
Two dimensional graphics applications may be used to create a perspective drawing of an object to provide the perception of depth in an image. A perspective drawing is a representational two dimensional drawing of a three dimensional space, which allows an image to look realistic in a two dimensional plane. Currently, some 2D graphics applications provide limited tools which can be used to create a perspective image to provide the perception of depth. However, existing 2D graphics applications rely heavily upon the user to create the three dimensional effect. Also, a user can work with only one object at a time and an entire perspective image with multiple objects cannot be created as existing 2D applications do not allow two objects to be related or associated with each other or a third object. Thus, existing 2D graphics applications do not allow a user to work in a perspective environment.
For example, existing 2D graphics applications, such as FreeHand 5.0, allow a 3D translation to be applied to a 2D object to provide a perspective view of the object.
FIGS. 1A and 1B show the effects that can be created by existing two dimensional graphics applications. A classical artistic technique utilized to render a 3-D representation upon a 2-D environment involves creating a horizon line and vanishing points. This type of technique is illustrated in drawing environment 10 of FIG. 1A which comprises a horizon line 11 and a horizontal plane 12. The horizon line is typically located at eye level. An object 15 is manually drawn between the horizon line and the horizontal plane, such that the vanishing points of the two sides of the object are located at points 13 and 14 on horizon line 11.
By changing the distance between the vanishing points 13 and 14, an object may appear to be translated within three dimension space. Thus, the drawing environment 10xe2x80x2 of FIG. 1B comprises a horizon line 11xe2x80x2 and a horizontal plane 12xe2x80x2. An object 15xe2x80x2 is drawn between the horizon line and the horizontal plane, such that the distance between the vanishing points 13xe2x80x2 and 14xe2x80x2 is greater than the distance between the vanishing points 13 and 14 of FIG. 1A. Of course, changing the vanishing points requires manually rendering the various components of the object a second time in accordance with the new drawing environment. Thus, object 15xe2x80x2 of FIG. 1B appears to be translated relative to the object 15 of FIG. 1A.
To accomplish this type of effect in a typical 2D graphics application, an artist is required to create the vanishing lines and the horizon line. Also, such artists must visualize how an object would look in perspective and then draw the object based on their visual perception. Certain tools may be utilized to aid this process, such as rotation or scaling tools.
However, the artist must effect changes to each and every object manually. Thus, in the prior art graphics applications users would spend considerable time visualizing the objects and then drawing them. However, because of the subjectivity involved in the prior art process the drawn objects were not necessarily accurate in their representation. Moreover, because the objects drawn by the users are based on estimates, it is difficult for the user to be consistent.
Another problem in the prior art is that the prior art does not allow portability of the created images. Thus, the images created using a particular graphics application may be used by only a few other graphics applications, usually those marketed or manufactured by the same entity. Furthermore, even when a particular graphics application allows another application to import the created images, some of the features of the exporting application may not be available in the importing application. Thus, the imported image is not identical to the original image and further changes may be required to be made in order to produce the desired effect. Thus, there are limitations in existing systems concerning the portability of the created images.
Therefore, there is a need in the art for a user friendly two-dimensional drawing environment that enables the user to create perspective images.
The present invention is directed to a system and method which in the preferred embodiment provides a two dimensional drawing environment which includes one or more perspective grids.
The preferred embodiment method for providing a perspective view of an object in a two dimensional drawing environment, comprises the steps of creating a two dimensional perspective grid drawing environment; drawing an object in the two dimensional drawing environment; selecting a grid in the two dimensional drawing environment; and applying the drawn object to the selected grid thereby automatically providing a perspective view of the object. By rendering a perspective grid environment, a spatial relationship between multiple objects may be established. Accordingly, a two-dimensional rendering may provide the appearance of three dimensional space.
In addition, the preferred embodiment defines a mapping relationship to apply a graphical object to a perspective grid. The preferred embodiment thereby transfers points defined in the two dimensional representation to a representation defined along the grid. The preferred embodiment utilizes vanishing points and distance from a vanishing points as parameters for the mapping relationship.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.